les aliens attaquent pour Sharp PC1500 ( pas de programme )
tir du magazine Hebdogiciel N61

	Encore ! il y avait longtemps, tiens. Ils ne vont jamais nous foutre la paix ces animaux-l?

Programme :
1 REM space invader de delbos franois pour PC-1500
3 DATA "0702050207","02020303030202","01020205020201","050203030205","0502070205"
4 "Z":CLEAR:DIM A$(0)*36:POKE 20750,16:E=50:INPUT "degrs(1-10)?";D:IF D<1 OR D>10 THEN 4
5 A$="607060":O=1:A$(0)="010301010309070605050607090301010301"
6 IF S>5e3*O AND W>0 BEEP 5,5,5:O=O+1:W=W-2:GOSUB 17
7 REM combat avec la flotille
8 WAIT 0:RESTORE:FOR I=1 TO 5:READ B$:G=LEN B$/2:FOR J=1 TO 6:C=RND 99:C$="":GOTO 11
9 FOR Y=0 TO 5*D:C$=INKEY$:IF C$="":NEXT Y
11 GOSUB 14:GPRINT B$:GCURSOR E:GPRINT A$:IF C$=CHR$ 1 BEEP 1,0,100:GOTO 15
12 IF RND 9>6 BEEP 1,1,200:L=RND G+C-1:P=POINT L:GOSUB 19:IF E=L OR L=E+1 OR L=E+2 GOSUB 32:GOSUB 45:GOSUB 17
13 GOTO 9
14 E=E+2*((C$="9")-(C$="7")):C=(E>C+G/2)-(E<C+G/2)+C:CLS:CURSOR 20:PRINT S:GCURSOR C:RETURN
15 GOSUB 26:IF G+C>E AND E>C-3 GOSUB 32:GOSUB 41:S=S+J*I:NEXT J:NEXT I:C=RND 100:GOTO 21
16 GOTO 12
17 W=W+1:POKE 28750,2^(4+W):IF W=3 WAIT:PRINT "score:";S:END
18 RETURN
19 FOR U=1 TO 6:GCURSOR L:GPRINT 2+P:NEXT U:RETURN
20 REM combat avec vaisseau mre
21 FOR Y=0 TO 5*D:C$=INKEY$:IF C$="" NEXT Y
22 G=18:GOSUB 14:GPRINT A$(0):GCURSOR E:GPRINT A$:IF C$=CHR$ 1 BEEP 1,1,100:GOSUB 26:K=E-C+1:IF K>0 AND K<18 THEN 27
23 Z=RND 9:IF Z>6 BEEP 1,0,300:GOSUB 34:L=H+C:P=1:GOSUB 19
24 IF Z>6 IF H+C=E OR H+C=E+1 OR H+C=E+2 GOSUB 45:GOSUB 32:GOSUB 17
25 GOTO 21
26 FOR U=4 TO -1 STEP -1:GCURSOR E+1:GPRINT 2+112:NEXT U:RETURN
27 R=VAL RIGHT$(A$(0),36-2*K):REM le vaisseau mre est touch
28 T=VAL LEFT$(A$(0),2*K):IF K=9 R K=10 GOSUB 41:GOSUB 32:O=O-1:S=S+1e3:POKE &7890,56:GOTO 5
29 IF K>9 AND R<>0 LET A$(0)=LEFT$(A$(0),2*K):FOR R=K TO 18:A$(0)=A$(0)+"00":NEXT R:GOTO 33
30 IF K<8 AND T<>0 LET A$(0)=RIGHT$(A$(0),36-2*K):FOR R=1 TO K:A$(0)="00"+A$(0):NEXT R:GOTO 33
31 GOTO 21
32 FOR U=1 TO 20:POKE# &F000,RND 255:NEXT U:RETURN
33 S=S+10*K:GOSUB 32:GOTO 20
34 X=RND 4:IF VAL LEFT$(A$(0),4)<>0 AND X=1 LET H=1:RETURN
35 IF VAL LEFT$(A$(0),10)<>0 AND X=2 LET H=4:RETURN
36 IF VAL RIGHT$(A$(0),10)<>0 AND X=4 LET H=16:RETURN
37 IF VAL RIGHT$(A$(0),4)<>0 AND X=3 LET H=14:RETURN
38 IF VAL RIGHT$(A$(0),6)+VAL LEFT$(A$(0),6) GOTO 34 (A$(0),6)+VAL LEFT$(A$(0),6) GOTO 34
39 GOTO 21
40 REM explosion des diffrents vaisseaux ennemis
41 CLS:WAIT 4:GCURSOR E:GPRINT "607260":GCURSOR E:GPRINT "627262":GCURSOR E:GPRINT "627762":GCURSOR E:GPRINT "677767":GCURSOR E-1
42 GPRINT "02677F6702":GCURSOR E-1:GPRINT "0A677F670A":GCURSOR E-2:GPRINT "120A677F670A12":GCURSOR E-3
43 GPRINT "02120A677D670A1202":GCURSOR E:GPRINT A$:GCURSOR E-1:GPRINT 0;A$;0:CLS:GCURSOR E:GPRINT A$:WAIT 0:RETURN
44 REM explosion de mon vaisseau
45 WAIT 9:GCURSOR E-1:GPRINT "50";A$;"50":GCURSOR E-2:GPRINT "40506070605048":GCURSOR E-3:GPRINT "404050603860504840"
46 GCURSOR E:GPRINT 0,0:GCURSOR E-1:GPRINT 0,0,0:CLS:GCURSOR C:IF I<>6 GPRINT B$:RETURN
47 GPRINT A$(0):RETURN